home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games Extra 1996 September / Amiga Games Extra CD-ROM 9-1996.iso / userbox / publicdomain / fastimagefxmodules / makeanim.rx < prev    next >
Text File  |  1995-12-10  |  2KB  |  80 lines

  1. /* MakeAnim.rx © by Helmut Hoffmann 1995 */
  2. /* Make HHsYUVSq animation from a directory of pictures */
  3. /* with ImageFX or EGSImageFX */
  4.  
  5. OPTIONS RESULTS
  6.  
  7. CLOSE(STDERR)
  8. win=OPEN(STDERR,'NIL:')
  9.  
  10. if ~(ADDRESS()='REXX') then do
  11.   CLOSE(STDOUT)
  12.   win=OPEN(STDOUT,'CON:0/50//130/MakeAnim.rx/CLOSE')
  13.   end
  14. else do
  15.   if ~SHOW('p','IMAGEFX.1') then do
  16.     if ~SHOW('p','EGS_IMAGEFX.1') then do
  17.       say "This script needs a running ImageFX or EGSImageFX"
  18.       say "and HHsFastIFXModules (the saver) to create animations"
  19.       exit
  20.       end
  21.     else ifxport='EGS_IMAGEFX.1'
  22.     end
  23.   else ifxport='IMAGEFX.1'
  24.   address value ifxport
  25. end
  26.  
  27. 'GetPrefs LoadPath'
  28. LoadPath=result
  29. 'GetPrefs SavePath'
  30. SavePath=result
  31.  
  32. address command 'requestfile drawer "'LoadPath'" noicons title "Select source directory:" >ENV:HHsYUVAnimSource'
  33. if rc~=0 then exit
  34. address command 'requestfile drawer "'SavePath'" savemode noicons pattern ~(#?.info) title "Select animation file:" >ENV:HHsYUVAnimFile'
  35. if rc~=0 then exit
  36.  
  37. address command 'list $HHsYUVAnimSource pat ~(#?.info) files lformat %f%n >t:HHsAnimList'
  38. address command 'sort t:HHsAnimList to t:HHsAnimListS'
  39.  
  40. if (open(SourceList,'t:HHsAnimListS','READ')=0) then do
  41.    say "Can't read file list"
  42.    exit
  43. end
  44. if (open(DestList,'ENV:HHsYUVAnimFile','READ')=0) then do
  45.    say "Can't read dest file name"
  46.    exit
  47. end
  48.  
  49. destanim=READLN(DestList)
  50.  
  51. say "Creating animation:" destanim
  52.  
  53. DO FOREVER
  54.   sourcefile=READLN(SourceList)
  55.   if length(sourcefile)=0 then do
  56.      say "Finished."
  57.      exit
  58.   end
  59.   say "Processing file" sourcefile
  60.   'LoadBuffer "'sourcefile'" force'
  61.   if rc~=0 then exit
  62.   'GetMain'
  63.   if rc~=0 then exit
  64.   parse var result '"' bufname '"' xdim ydim more
  65.   say "Size:" xdim ydim
  66.   scalefac=min(36000/xdim,31000/ydim)
  67.   if (scalefac<100) then do
  68.      say "Downscaling:" scalefac||"%"
  69.      'Scale 'scalefac scalefac ' percent'
  70.      if rc~=0 then do
  71.         say "Scaling failed!"
  72.         exit
  73.      end
  74.   end
  75.  
  76.   'SaveBufferAs Format "-HHsYUVSq animation-" File 'destanim
  77.   if rc~=0 then exit
  78. END
  79.  
  80.